Punto de Extensión de Caso de Uso

Un punto de extensión es una ubicación específica dentro del flujo de un caso de uso base donde se puede insertar un comportamiento adicional definido por otro caso de uso mediante la relación <<extend>>. Estos puntos permiten modelar funcionalidades opcionales o condicionales sin modificar el flujo principal del caso base. Se documenta en la especificación textual del caso de uso base.

Propósito

Propósito

Propósito Explicación
Modularidad Separar funcionalidades opcionales o condicionales del flujo principal.
Flexibilidad Permitir que el caso base funcione independientemente de la extensión.
Claridad Evitar sobrecargar el caso base con variantes poco frecuentes.

Ejemplo

El Diagrama de Casos de Uso

Figura
_Ejemplo de Relación de Dependencia Extend _

uml diagram

Nota: Una limitación del diagrama es que no indica en qué paso del flujo principal se extiende a Aplicar Descuento.

La Especificación del Caso de Uso (Base)

Opción 1
Especificación del Caso de Uso

Identificación

  • Nombre: Realizar Compra
  • Actor(es): Cliente
  • Precondiciones:
  • ...

Escenario

  • ...

Flujo Principal (Normal)

  1. Paso 1
  2. Paso 2
    ...
    j. Si se cumple <condición> entonces ver Caso de Uso Aplicar Descuento

Flujos Alternativos

  • ...

Excepciones

  • ...

Poscondiciones

  • ...

Opción 2
Especificación del Caso de Uso

Identificación

  • Nombre: Realizar Compra
  • Actor(es): Cliente
  • Precondiciones:
  • ...

Escenario

  • ...

Puntos de Extensión

PE1: Luego del Paso i, si se cumple la <condición>
PE2: ...

Flujo Principal (Normal)

  1. Paso 1
  2. Paso 2
    ...
    i. Paso i
    j. Si se cumple <condición> entonces ver Caso de Uso Aplicar Descuento
    ...

Flujos Alternativos

  • ...

Excepciones

  • ...

Poscondiciones

  • ...

Ventaja: La especificación textual precisa dónde y cómo se invoca el caso incluido.